let express=require('express')
let path=require('path')
let app=express()
let os=require('os')

let net=os.networkInterfaces()

let address=require('address')

app.engine('art',require('express-art-template'))

//art-template 模板引擎配置
app.set('view options',{
    debug:process.env.NODE_ENV !== 'production',
    escape:false  //开启这个防止 xss攻击
})
app.set('views',path.join(__dirname,'./template'))
app.set('view engine', 'art');

//app.use()  是按照先后顺序进行匹配  当前面的匹配到后面的路由将不会匹配
// app.use('/',(req,res)=>{
//     res.send('hello world')
// })

// app.use('/home',(req,res)=>{
//     res.send('hihihi')
// })
//-----------------------------------

/*
use() 里的第二个参数 中间栈概念  由next决定执行
let middulwar=[(req,res,next)=>{
//    res.send('mid1')
    console.log(111)
    next()
},(req,res,next)=>{
    console.log(222)
    next()
}]
app.use('/',middulwar)
app.use('/index',(req,res)=>{
    res.send('llll')
})

*/
let router=require('./router/home.js')


//解析post 请求的body参数
app.use(express.urlencoded({extended:false}))
app.use(express.json())

//路由
app.use('/',router)

//静态资源之间相互应用时要用   <link  href='./a.css'  />
app.use(express.static('static'))   

//长传图片

const multer  = require('multer')
// const upload = multer({ dest: './public/uploads/' })   //图片上传保存路径
var storage = multer.diskStorage({
    destination: function (req, file, cb) {
      cb(null, './public/uploads/')
    },
    filename: function (req, file, cb) {
      cb(null, file.originalname.split('.')[0] + '-' + Date.now())
    }
  })
  
  var upload = multer({ storage: storage })   //自定义上传文件名
app.post('/stats', upload.single('uploaded_file'), function (req, res) {
   console.log(req.file, req.body)
   res.end()
});




//设置cookie 
let cookieParse=require('cookie-parser')
app.use(cookieParse)

//设置session
let session=require('express-session')
app.use(session({
    secret:'123456',
    resave:true,
    saveUninitialized:true,
    cookie:{
        maxAge:10*1000,
        secure:false
    }
}))
app.listen(8012,()=>{
    console.log('服务器开启')
})